1. Field of the Invention
The present invention relates to a field device management apparatus. Specifically, the present invention relates to a modification of the field device management apparatus that manages field devices on a personal computer with the MICROSOFT WINDOWS operating system.
Priority is claimed on Japanese Patent Application No. 2010-107129, filed May 7, 2010, the content of which is incorporated herein by reference.
2. Description of the Related Art
All patents, patent applications, patent publications, scientific articles, and the like, which will hereinafter be cited or identified in the present application, will hereby be incorporated by reference in their entirety in order to describe more fully the state of the art to which the present invention pertains.
A field device management apparatus manages field devices included in a process control system such as a chemical plant. FIG. 5 is a block diagram illustrating an example of the field device management apparatus in accordance with the related art.
A field device management apparatus 50 communicates with a field device 60 that is a management target through a communication path 61. The field device management apparatus 50 receives device data of the field device 60 by using a device type manager (DTM) specification and a device description (DD) specification that are conventionally known. The device data is, for example, a device tag, an individual data such as a serial number, and a device parameter. The field device management apparatus 50 performs a parameter setting, a device adjustment, a maintenance operation, and so on.
As illustrated in FIG. 5, the field device management apparatus 50 includes an input unit 51, a display unit 52, a user application processing unit 53, a DD application processing unit 54, a virtual communication unit 55, a DD 56, a DTM application processing unit 57, a DTM 58, and a communication unit 59. The communication unit 59 is connected to the field device 60 through the communication path 61.
The DD 56 includes description data 56a. The description data 56a describes the device data such as a parameter of the field device 60 and a definition of a method of accessing the device data. When performing information processing such as a conditional branching processing on the parameter according to the state of the field device, the DTM 58 includes an algorithm or a program to execute the information processing. The field device management apparatus 50 receives the device data related to the field device 60 by using the DD 56 and the DTM 58.
The DD 56 is described by using a script language. Thereby, the burden of development can be reduced for manufacturers. However, it is difficult for the DD 56 to perform a complicated processing such as a conditional branching processing. Such a complicated processing is performed by the DTM 58 that utilizes the ActiveX™ control.
An operation of the field device management apparatus 50 receiving the device data from the field device 60 will be described. Initially, the user application processing unit 53 receives a device data reception request signal from a user through the input unit 51. The input unit 51 is, for example, a keyboard and a mouse.
When receiving the device data in the DD specification, the DD application processing unit 54 receives the device data reception request signal from the user application processing unit 53. The DD application processing unit 54 reads the description data 56a in the DD 56 through the virtual communication unit 55. Then, the DD application processing unit 54 communicates with the field device 60 through the DD 56, the communication unit 59 and the communication path 61, based on a definition, which is described in the description data 56a, to receive the device data from the field device 60.
The user application processing unit 53 receives the device data, which has been received by the DD application processing unit 54, to make the display unit 52 displaying the display data of the device data. The display unit 52 is, for example, a CRT (cathode ray tube) or a LCD (liquid crystal display).
When receiving the device data in the DTM specification, the DTM application processing unit 57 receives the device data reception request signal from the user application processing unit 53. The DTM application processing unit 57 activates the DTM 58. The DTM 58 communicates with the field device 60 through the communication unit 59 and the communication path 61 to receive the device data from the field device 60.
Then, the user application processing unit 53 receives the device data, which has been received by the DTM application processing unit 57, to make the display unit 52 displaying the display data of the device data.
In the field device management apparatus 50 of FIG. 5, a software library that is operated on the Windows MICROSOFT WINDOWS operation system has been used. For example, compatibility of a DD file format of the field device has been kept for more than 13 years. Also, a software library DDS (device description service), which reads the DD file electronically, has been used for more than 13 years.
The previous software library was generated by using the C programming language. Therefore, the previous software library heavily utilizes a global variable and a static variable as compared with the C++ programming language that is known as a modern programming language. FIG. 6 is an explanatory view illustrating a normal usage of the legacy library in the field device management apparatus 50 of FIG. 5.
The software library such as the DDS is set in one DLL (dynamic link library) 110 and is activated independently by a client program stored in a client program server 1. In FIG. 6, the DLL 110 includes an instance 111, which includes a legacy library 12, a member variable 13 and a global/static variable 14. The instance 111 is an object that can be manipulated by the commands of a programming language, such as a value, variable, function, or data structure.
On the other hand, there is a kind of a programming form called COM (component object model) that is a major form and is operated on the MICROSOFT WINDOWS operating system. The DTM is a standard utilizing the COM that makes it easy to use a digital field technology.
A new trial has been done to combine a mature legacy technology such as the DDS with a new technology such as the COM. FIG. 7 is an explanatory view illustrating a usage of a DLL in the legacy library activating a plurality of COM instances in the field device management apparatus 50 of FIG. 5. When using the COM, it is general to activate a plurality of COM instances. One COM instance includes one legacy library, and a plurality of legacy libraries are activated. In the example of FIG. 7, there are two COM instances and two legacy libraries corresponding to two field devices or hardware. In FIG. 7, a COM in-process server 210 includes a COM instance 211 and a COM instance 221. The COM instance 211 includes a legacy library 12 and a member variable 13. The COM instance 221 includes a legacy library 22 and a member variable 23.
The member variable 13, the member variable 23 and a global/static variable 14 are data domains. According to the specification of the C programming language or the C++ programming language, the global/static variable 14 are treated as a common data domain in the COM in-process server 210.
In origin, the global/static variable 14 is assumed to be used by a single legacy library 12 as illustrated in FIG. 6. The global/static variable 14 is not assumed to be used as the common data domain as illustrated in FIG. 7. However, even if the C programming language is used in the development, the global/static variable 14 is used as the common data domain as illustrated in FIG. 7 in order to lower the number of man-hours in the development.
When applying the COM technology, if the global/static variable is treated in the COM in-process server as the common data domain, then the legacy library does not work properly. Therefore, either the following (1) or (2) will be selected when applying the COM technology to the legacy library.
(1) Rewriting all source codes of the legacy library to change its design so that the global/static variables are not used.
(2) Using the EXE by changing the in-process server of FIG. 7 to the local server of FIG. 8 so that the common data domain will not occur.
FIG. 8 is an explanatory view illustrating a usage of the EXE in the legacy library activating a plurality of COM instances in the field device management apparatus of FIG. 5. A client program server 1 may include a client program. The client program is input to a COM local server 1 310 and a COM local server 2 320. The COM local server 1 310 includes a COM instance 211. The COM local server 2 320 includes a COM instance 221. In the COM instance 211, the legacy library 12 is input to a data domain of the member variable 13 and a data domain of the global/static variable 14. In the COM instance 221, the legacy library 22 is input to a data domain of the member variable 23 and a data domain of the global/static variable 24.
Japanese Unexamined Patent Application, First Publication No. 2010-026843 discloses a field device management apparatus, a field device management system, a computer program, a recoding medium and specifically, a technology of uniting applications related to a field device management.
“Isao Hirooka et al., FieldMate Field Device Management Tool for New Era, Yokogawa Technical Report English Edition, No. 44, 2007, pp. 9-12.”, which is an English version of “Isao Hirooka et al., FieldMate Field Device Management Tool for New Era, Yokogawa Technical Report, Vol. 51, No. 2, 2007, pp. 45-48.” in Japanese, discloses a field device management apparatus using a device description (DD) specification and a device type manager (DTM) specification.
However, the method of (1) needs to change the source code of the legacy library from an essential part, which requires a large number of man-hours. In many cases, it is impossible to change the design according to the method of (1). Specifically, the legacy library such as the DDS, which was originally made with C programming language previously, tends to overuse the global/static variable as described above. A large difficulty occurs when applying the COM technology to the legacy library.
On the other hand, in the method of (2), the legacy library itself is not changed, but the format of the COM is changed. Therefore, it requires a small number of man-hours. However, processing speed of the apparatus falls extremely.